package cn.iocoder.yudao.module.cmt.controller.admin.base.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;

@Schema(description = "管理后台 - 商户员工 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BaseMerchantStaffRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("ID")
    private Long id;

    @Schema(description = "社区ID", example = "1")
    @ExcelProperty("社区ID")
    private Long communityId;

    @Schema(description = "商户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("商户ID")
    private Long merchantId;

    @Schema(description = "会员ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("会员ID")
    private Long userId;

    @Schema(description = "员工姓名", example = "张三")
    @ExcelProperty("员工姓名")
    private String staffName;

    @Schema(description = "员工电话", example = "13800138000")
    @ExcelProperty("员工电话")
    private String staffPhone;

    @Schema(description = "角色：1普通员工 2管理员 3超级管理员", example = "1")
    @ExcelProperty("角色")
    private Integer role;

    @Schema(description = "权限(JSON数组)")
    private String permissions;

    @Schema(description = "加入时间")
    @ExcelProperty("加入时间")
    private LocalDateTime joinTime;

    @Schema(description = "状态：0离职 1在职", example = "1")
    @ExcelProperty("员工状态")
    private Integer staffStatus;

    @Schema(description = "状态：0停用 1启用", example = "1")
    @ExcelProperty("状态")
    private Integer status;

    @Schema(description = "备注", example = "备注信息")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
